package com.linln.modules.vehicle.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Collections;
import java.util.List;
import java.util.Map;


/**
 * @author : pengliang
 * @version V1.0
 * @Project: timo
 * @Package com.linln.modules.vehicle.domain
 * @Descriptio /**
 * @Project: timo
 * @Package com.linln.modules.vehicle.domain
 * @Description: TODO
 * @date Date : 2020年12月18日 11:17
 */

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "tbl_vehicle")
public class Vehicle {
    /**
     * 车辆主键
     */
    @TableId(value = "vehicle_id", type = IdType.UUID)
    private String vehicleId;

    /**
     * 车牌
     */
    @TableField(value = "plate")
    private String plate;

    /**
     * 后六位发动机号
     */
    @TableField(value = "engine_no")
    private String engineNo;

    /**
     * 车架号
     */
    @TableField(value = "vin_no")
    private String vinNo;

    /**
     * 车辆注册日期
     */
    @TableField(value = "reg_date")
    private String regDate;

    /**
     * 车主姓名
     */
    @TableField(value = "owner_name")
    private String ownerName;

    /**
     * 车主电话号码
     */
    @TableField(value = "owner_mobile")
    private String ownerMobile;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private String createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    private String updateTime;

    /**
     * 最近年检时间
     */
    @TableField(value = "lately_yearly_inspection_date")
    private String latelyYearlyInspectionDate;

    /**
     * 用户id
     */
    @TableField(value = "user_id")
    private Long userId;

//    /**
//     * 下次年检剩余天数
//     */
//    @TableField(exist = false)
//    private Integer nextYearlyInspectionDay;
//    /**
//     * 可提前天数
//     */
//    @TableField(exist = false)
//    private Integer advanceDay = 80;
    /**
     * 车辆洗车，年检等记录
     */
    @TableField(exist = false)
    private  Map<String, Map> vehicleInfoList;

    public static final String COL_VEHICLE_ID = "vehicle_id";

    public static final String COL_BAND = "band";

    public static final String COL_PLATE = "plate";

    public static final String COL_ENGINE_NO = "engine_no";

    public static final String COL_VIN_NO = "vin_no";

    public static final String COL_REG_DATE = "reg_date";

    public static final String COL_OWNER_NAME = "owner_name";

    public static final String COL_OWNER_MOBILE = "owner_mobile";

    public static final String COL_CREATE_TIME = "create_time";

    public static final String COL_UPDATE_TIME = "update_time";

    public static final String COL_USER_ID = "user_id";
}
